home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2009 June / PersonalComputerWorld-June2009-CoverdiscCD.iso / Software / Freeware / Adobe AIR 1.5.1 / AdobeAIRInstaller.exe / setup.swf / scripts / mx / controls / Image.as < prev    next >
Encoding:
Text File  |  2009-02-12  |  2.9 KB  |  102 lines

  1. package mx.controls
  2. {
  3.    import flash.display.DisplayObject;
  4.    import flash.events.Event;
  5.    import mx.controls.listClasses.BaseListData;
  6.    import mx.controls.listClasses.IDropInListItemRenderer;
  7.    import mx.controls.listClasses.IListItemRenderer;
  8.    import mx.core.IDataRenderer;
  9.    import mx.core.mx_internal;
  10.    import mx.events.FlexEvent;
  11.    
  12.    use namespace mx_internal;
  13.    
  14.    public class Image extends SWFLoader implements IDataRenderer, IDropInListItemRenderer, IListItemRenderer
  15.    {
  16.       mx_internal static const VERSION:String = "3.0.0.0";
  17.       
  18.       private var _listData:BaseListData;
  19.       
  20.       private var sourceSet:Boolean;
  21.       
  22.       private var _data:Object;
  23.       
  24.       private var settingBrokenImage:Boolean;
  25.       
  26.       private var makeContentVisible:Boolean = false;
  27.       
  28.       public function Image()
  29.       {
  30.          super();
  31.          tabChildren = false;
  32.          tabEnabled = true;
  33.          showInAutomationHierarchy = true;
  34.       }
  35.       
  36.       override mx_internal function contentLoaderInfo_completeEventHandler(param1:Event) : void
  37.       {
  38.          var _loc2_:DisplayObject = DisplayObject(param1.target.loader);
  39.          super.mx_internal::contentLoaderInfo_completeEventHandler(param1);
  40.          _loc2_.visible = false;
  41.          makeContentVisible = true;
  42.          invalidateDisplayList();
  43.       }
  44.       
  45.       [Bindable("dataChange")]
  46.       public function get listData() : BaseListData
  47.       {
  48.          return _listData;
  49.       }
  50.       
  51.       public function set listData(param1:BaseListData) : void
  52.       {
  53.          _listData = param1;
  54.       }
  55.       
  56.       [Bindable("dataChange")]
  57.       public function get data() : Object
  58.       {
  59.          return _data;
  60.       }
  61.       
  62.       public function set data(param1:Object) : void
  63.       {
  64.          _data = param1;
  65.          if(!sourceSet)
  66.          {
  67.             source = !!listData ? listData.label : data;
  68.             sourceSet = false;
  69.          }
  70.          dispatchEvent(new FlexEvent(FlexEvent.DATA_CHANGE));
  71.       }
  72.       
  73.       override public function invalidateSize() : void
  74.       {
  75.          if(Boolean(data) && settingBrokenImage)
  76.          {
  77.             return;
  78.          }
  79.          super.invalidateSize();
  80.       }
  81.       
  82.       [Bindable("sourceChanged")]
  83.       override public function set source(param1:Object) : void
  84.       {
  85.          settingBrokenImage = param1 == getStyle("brokenImageSkin");
  86.          sourceSet = !settingBrokenImage;
  87.          super.source = param1;
  88.       }
  89.       
  90.       override protected function updateDisplayList(param1:Number, param2:Number) : void
  91.       {
  92.          super.updateDisplayList(param1,param2);
  93.          if(makeContentVisible && Boolean(mx_internal::contentHolder))
  94.          {
  95.             mx_internal::contentHolder.visible = true;
  96.             makeContentVisible = false;
  97.          }
  98.       }
  99.    }
  100. }
  101.  
  102.